今天來說圖片,可以嵌入圖片,Logo 之類的。
程式碼
from reportlab.platypus import SimpleDocTemplate, Image
image = Image("logo.jpeg", width=200, height=200)
fileName = "example.pdf"
pdfTemplate = SimpleDocTemplate(fileName)
story = []
story.append(image)
pdfTemplate.build(story)
*圖片來源 Google
結果圖
或是要一些特別的圖表,或是更美觀一點的,可以用 matplotlib 這個套件畫出來,儲存成圖片,再嵌入圖片。
安裝 matplotlib
$ pip3 install matplotlib
隨便找一個範例畫一個圖,這裡選 盒鬚圖(Box plot)
完整程式碼
from reportlab.platypus import SimpleDocTemplate, Image
import matplotlib.pyplot as plt
from io import BytesIO
dataList = [
60, 70, 80, 90, 100, 200, 200, 230,
50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
40, 30, 20, 10, 0, -100, -200,
]
plt.boxplot(dataList)
imgdata = BytesIO()
plt.savefig(imgdata, format='png', bbox_inches='tight')
imgdata.seek(0)
image = Image(imgdata, width=200, height=200)
fileName = "example.pdf"
pdfTemplate = SimpleDocTemplate(fileName)
story = []
story.append(image)
pdfTemplate.build(story)
結果圖
參考資料: